package com.tedu.day02.oop;

/**
 * this关键字----super关键字---使用完全一致
 * 不需要继承 ----当前类  当前状态
 * 使用方法：调取当前类的属性、方法、构造器
 *                  this.属性           【给当前类的属性赋值的】
 *                                     【出现在方法当中】 构造方法构造器当中都有
 *                                     【区别当前类的属性于参数“名称 ”一致
 *                  this.方法
 *                  this（）     有多个有参构造器
 *
 *    面试题：this与supper关键字有区别？
 *      this 调用本类属性和方法 构造器
 *      super调用父类的属性和方法 构造器  一定存在继承关系 使用super
 *      this（） 调取本类的其他构造器【构造器首行】
 *      super（）调取父类的其他构造器【子类构造器首行】
 *
 *
 */
public class this关键字 {
    int i;  //属性 ----很少  【声明未赋值】---构造器方法当中赋值
    int j;  //属性 ----很少  【声明未赋值】---构造器方法当中赋值

    public this关键字(int i, int j) {
        this.i = i;
        this.j = j;
        System.out.println();
    }

    //构造器 有参       需求：创建1个参数对象. 给i跟j进行赋值

    public this关键字(int i) {
        this(3,4);
        //调用本类其他构造器===传参 i=3

        this.i = i;
        //常见：this.属性【当前类下的属性】=肯定是参数
        //赋值  this.i=1；
    }

    //方法--this.方法
    public void testI(){
        System.out.println("我是I");
    }
    public void testJ(){  //调取----输出----我是i 我是j
        this.testI();
        System.out.println("我是J");
    }


    public static void main(String[] args) {
        System.out.println(new this关键字(1).j);
      //  new this关键字(1).testJ(); //方法有输出语句

    }
}

